/*
实现文件加密解密：加密规则是读出每一个字节，取反(~)后，写入
新文件，然后删除原文件，把新文件改成原文件同名的文件，
解密规则类似。输入一个文件名，实现加密和解密功能
 */
package day9.Exer;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class Exer6 {
    public static void main(String[] args) {
        FileInputStream fis = null;
        FileOutputStream fos = null;
        List<Byte>list=new ArrayList<>();
        try {
            fis = new FileInputStream("E:\\作业\\c.txt");
            byte[] b=new byte[100];
            while((fis.read(b))>-1){
                for(byte a:b){
                    a=(byte)~a;
                    list.add(a);
                }
            }
            fos=new FileOutputStream("E:\\作业\\a.txt",true);
            for(byte bt:list){
                fos.write(b);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(fis!=null){
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }if(fos!=null){
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            File fl1=new File("E:\\作业\\c.txt");
            fl1.delete();
            File fl2=new File("E:\\作业\\a.txt");
            fl2.renameTo(new File("E:\\作业\\c.txt"));
        }
    }
}

